﻿
#include "TableScene.h"
#include "SimpleAudioEngine.h"

Scene* TableScene::createScene()
{
	return TableScene::create();
}

bool TableScene::init()
{
	if (!Scene::init())
	{
		return false;
	}
	//设置数组的容量 （在实际操作中，这个容量会动态变化）
	menuArray = __Array::createWithCapacity(10);
	for (int i = 0; i <= 10; i++)
	{
		menuArray->addObject(__String::createWithFormat("cell%d", i));
	}
	menuArray->retain();//增加自动计数 为了防止该数据被释放
	//menuArray->release();//减少自动计数

	Size visibleSize = Director::getInstance()->getVisibleSize();

	//创建表格
	TableView* tableView = TableView::create(this, visibleSize);//数据源是this,尺寸是可视区域大小
	tableView->setDelegate(this);//设置表格代理
	addChild(tableView);
	return true;
}

//表格某一项被点击
void TableScene::tableCellTouched(TableView* table, TableViewCell* cell) {

}

//表格的某一项的UI布局 (最重要的环节)
TableViewCell* TableScene::tableCellAtIndex(TableView *table, ssize_t idx) {
	//看看表格中有没有可以复用的cell(cell有复用机制)
	TableViewCell* cell = table->dequeueCell();
	
	if (!cell) {//没有的话创建一个新的
		cell = TableViewCell::create();
	}
	//移除所有的孩子，并且清除
	cell->removeAllChildrenWithCleanup(true);

	
	return cell;
}

//表格的某一项的尺寸
Size TableScene::tableCellSizeForIndex(TableView * table, ssize_t idx)
{
	return Size(200, 200);
}

//表格有多少项
ssize_t TableScene::numberOfCellsInTableView(TableView * table)
{
	return menuArray->count();//获取数组的元素个数
}
